# -*- coding: UTF-8 -*-
'''
Created on 2011-8-21

http://tech.idv2.com/2011/06/17/location-search/

@author: zxz
'''
from math import sin, asin, cos

# 赤道半径为6378.140千米，极半径为 6356.755千米，平均半径6371.004千米
# latitude维度
# longitude经度
EARTH_RADIUS=6371004

def range(latitude, longitude, distance):
    '''  计算经纬度范围 latitude 维度， longitude经度'''
    if latitude > 90 or latitude < -90:
        return None
    if longitude > 180 or longitude < -180:
        return None
    dlng = 2 * asin(sin(distance / (2 * EARTH_RADIUS)) / cos(latitude))
    dlat = distance / EARTH_RADIUS
    return {'maxLat':latitude + dlat, 'minLat' : latitude - dlat, 'maxLng' : longitude + dlng, 'minLng' : longitude - dlng}
